package com.ingenieria.industrial.dao.implementacion;

import com.ingenieria.industrial.dao.diseño.IDocumento;
import com.ingenieria.industrial.dto.Documento;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DocumentoDAO extends BaseDAO implements IDocumento {

    public DocumentoDAO(Connection cnx) {
        super(cnx);
    }

    @Override
    public Documento getByCodPro(String cod_proc) throws Exception {
        Documento documento = null;
        String sqlQuery = "SELECT * FROM t_documentos d "
                + " INNER JOIN t_procesos p ON d.codigo = p.cod_proc "
                + " WHERE p.cod_proc = ?";
        try {
            Connection cn = ConexionDB.getConnection();
            PreparedStatement ps = cn.prepareStatement(sqlQuery);
            ps.setString(1, cod_proc);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                documento = new Documento();
                mapearBeanForRS(rs, documento);
            }
        } catch (Exception e) {
            documento = null;
        }
        return documento;
    }

    @Override
    public Documento getByCodEve(String cod_eve) {
        Documento documento = null;
        String sqlQuery = "SELECT * FROM t_documentos d "
                + " INNER JOIN t_eventos e ON d.codigo = e.cod_eve "
                + " WHERE e.cod_eve = ?";
        try {
            Connection cn = ConexionDB.getConnection();
            PreparedStatement ps = cn.prepareStatement(sqlQuery);
            ps.setString(1, cod_eve);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                documento = new Documento();
                mapearBeanForRS(rs, documento);
            }
        } catch (Exception e) {
            documento = null;
        }
        return documento;
    }

}
